home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr25
/
mr2_151.zip
/
READ.ME
< prev
next >
Wrap
Text File
|
1993-06-20
|
43KB
|
930 lines
MR/2 - A QWK Compatible Mail Reader for OS/2. 05/09/93
Copyright (c) 1992, Knight Writer Software Company.
All rights reserved.
===================================================================
N O T I C E
===================================================================
This IS a shareware package, and does require a registration fee if
you choose to continue using it after 30 days. The registration
fee is currently $20 US. Eventually, the product MAY have a
"begging" screen with a key-file that will register the software
and suppress it. The more interest I get, the more likely I am to
continue with improvements.
------------------------------------------------------------------
CONTACTING THE AUTHOR
=====================
You can contact me in a number of ways. Unfortunately, I can't
provide a phone number at this time.
US Mail: Nick Knight
1823 David Ave.
Parma, Ohio 44134
Fido netmail: 1:157/2 to "Nick Knight"
Internet: User "Nick Knight", (nick.knight@pcohio.com)
Fido Echomail: Find the Fidonet OS2PRODSUPPORT conference. I'm there.
Echomail messages to me in more general conferences are
discouraged, as keeping them "on topic" and
interesting to the masses would be difficult. I do
read OS2, OS2PROG, C_PLUSPLUS and DR DEBUG daily,
though. OFFLINE echo also (deals with mail readers),
this might be THE place to ask public questions, eh?
I recently have acquired access to a host of other
networks with OS/2 conferences. These include RIME,
SmartNet, Uninet, Intelec, Nanonet, Racenet and some
others I can't remember.
I also do poll the Fidnet OS2PRODSUPPORT echo.
Direct BBS: Leave a message on the Nerd's Nook BBS (1:157/2) at (216)
356-1772, 356-1872 or 356-1431. I check in here
multiple times a day. I will also keep the most recent
copy of MR/2 posted here. Other boards (non-local)
will get updates at my convenience.
**************************************************************************
**************************************************************************
** NOTE: Nerd's now supports an MR/2 conference **
** and file area. Conference #208 is dedicated to **
** MR/2 support and files. File area #45 contains **
** MR/2-related files. Any file uploaded into **
** conference 208 will be placed in file area 45. **
**************************************************************************
**************************************************************************
Nerd's does support file requests (157/2 or 157/3)
Compuserve: I check in here only when I have to. Try mail to my
user ID - 76066,1240, although this isn't the best
approach.
Changes included in v1.51
-------------------------
o RIME routed messages are now recognized as having a "header area" at
the top of the message. If the message is "split" due to length,
the header area should be automically pasted into the top
of each part.
o FILE_ID.DIZ files were crossed between classic and PM. Fixed.
o After a brief "vacation" <NOT!>, work is once again progressing :)
o OK, I linked in HPFS longname support and modified some code to
retrieve and handle long file names. The packet select screen
now shows TE/2-renamed files like "pc-ohio.qwk;1". This will need
some testing and polish, but it works. FileSpec in MR2.INI should
be changed to "*.q*" in order to see these files.
o Ooops. I couldn't find a PKUnzip that would work with long names.
Even the older OS/2 version puked. This'll definitely be a problem
with other DOS based archivers. So, I added a little diddy to
unqwk.cmd that, if a long name is detected, will copy the selected
file into the tmp$$ directory as MR2$TMP.QWK and unpack this. It
then deletes the "temporary" QWK packet. Works great with even
the DOS PKUnzip now!
If you want to use TE/2 on a HPFS system and unpack the "BBS.QWK;1"
type names with a DOS or PK* product, you *must* set your unzipper
to unqwk.cmd.
o Selecting an alternate conference using F4 from the Message Header
Edit screen was broken. This has been fixed.
o Packet path would get reset after every packet. That meant that if
you used ALT-P to change to a different directory and opened a packet,
you'd lose that path when that packet was exited. Packet path and
Video mode now are kept across packets
o An MR/2 INI file other than MR2.INI may be specified via command line
parameter. Use "MR2 /IMR2_ALT.INI" to use a file named MR2_ALT.INI as
the global MR/2 INI file. I'm hoping that this helps in allowing
multiple instances of MR/2 to be open on the desktop. Needs more
testing and experimentation ... Opening two different MR/2 seesion
still crashes.
Changes included in v1.50
-------------------------
o Read.me is now shifted around so that most recent changes (from now
on, at least) list at the top. The old mr2.hst file that used to
house the list of modifications up to v1.00 (beta changes) is gone.
Mr2.hst now contains a list of changes from v1.00 up to v1.40.
This read.me file contains changes made in v1.40 and beyond.
o Welcome and Goodbye screen now list on the Bulletins select menu.
You can view these, unobstructed and at length, any time you choose.
o Minor change to the parsing of the @Fidonet@ variable. Removed any
@fidonet suffix that exists in the origin line.
o Ooops. When using the internal editor, and editing mr2.ini, the
read clock string would pop onto every edit screen. The clock display
is now suspended/resumed correctly.
o Clock would still pop up if you would request HELP while inside the
editor, then CANCEL to clear the help screen. Fixed.
o ALT-W now "works" when inside the internal editor. It will write the
entire file currently being edited, to another file named by you.
This does not change the original file's name. It will overwrite any
existing file ... I guess there's an enhancement idea right there :)
NOTE: The internal editor works similarly to the E and EPM editors
as far as CR/LF's go. If you type in a long reply letting the
editor do the wrapping, there are not necessarily CR/LF's at the end
of every line. These occur only where they previously occur, or
when you force a "hard return" by pressing ENTER. MR/2's reply
saving logic places hard returns into the replies. This means that
files that are created by using ALT-W *may* appear to be one long
line (or at least one long line per user-typed paragraph) when
viewed with another editor, printed, or typed to the screen. If you
want to ALT-W write a reply with correct CR/LF placement, save the
reply AND THEN go into the reply conference and re-edit it. Once it
has been saved, CR/LF's will be placed properly. Let's see if this
causes a problem for anyone.
Changes included in v1.48x
--------------------------
o Add/Drop - you can add or drop a conference via "door" command now.
Simply highlight a conference on the Conferences w/mail or the Write
New selection list. Press ALT-A to add, ALT-D to drop, and confirm
the action. Adding/Dropping a non-BBS conference (MR/2 created, for
example) does nothing.
o Internal Editor: cursor would not be visible in with screen displays
of 40 lines or more. I was drawing the cursor, just too thin! Now,
the cursor setting routine queries # lines and adjusts.
o Modified the "no packets exist" screen to report the option of
pressing ALT-E to enter message to a known BBS even though no packets
exist. Formatted the text on this screen a little better.
o Added code to trim off nulls at end of any message. Was trimming spaces,
but Internet messages sometimes had nulls. Messes up the reply file
editing. Also, if any embedded nulls are found, these *aren't* written
to the reply file OR save file.
o Processing for IDATE improved a little. I saw some DATE: lines that
started with weekday names like "Sun, ".
o New INI parameter - ReplyStripTagline defaulting to YES. Set it to NO
if you want to use SmartQuoting (which strips the original messages
tagline) but still want the tag quoted.
o QuoteStyle now has an optional parameter, which is ON by default.
If you specify TagStyle=PCBoard,Autosense, you're saying that quote
style can use hi-end ASCII chars, but if it's a Fidonet reply,
change to Fidonet mode. I'm not sure if I should include Internet
messages as Fido-typed tags ... I probably should. I'll research.
Without the "Autosense" keyword, tag style will adhere strictly to
what's been specified.
o NOTE: starting with the next release, this file will begin to list the
latest changes at the TOP of the file, with older revisions towards
the bottom.
Changes included in v1.47x
--------------------------
o Added new Template file sections: SaveHeader and PrintHeader. Lets
you define the header for messages when printed or saved. If these
sections don't exist, the old default header is used.
o Added more variables to aid in the support of the new header sections:
MsgRefNbr, MsgNumber, MsgStatus. In addition, added some more variables
to aid in formatting sections. @COL:45@ sets the next column to 45.
@RCOL:72@ says to right justify the next variable referenced at col 72.
@Center:40@ says to center the next variable referenced over column 40.
The @RCOL@ and @CENTER@ variables can be used w/o column specs to
right justify at "wrap column" or center the entire line between wrap
column and 1.
Negative @COL@ specs may be supplied. This will delete the specified
number of characters before the variable. For example, @ITIME@@COL:-4@
would change 07:54:30 GMT to just 07:54:30. Messes up, tho, if MSGDATE
ends up getting substituted for IDATE (no IDATE is found).
See example.tf, at the end. There's a section `unused` with some
doc/examples.
o The template file now supports comment lines. Simply start the line
(very first columns) with ";;" and the line is ignored.
o Save message - if your "default" file in the INI has a "*" or a"?"
in the name, MR/2 shows the file selection list immediately upon
hitting the "S" to save.
o MR/2 now will highlight all occurences of a search string within a
"hit" message. This includes custom conferences, and soundex hits.
Soundex highlights may appear longer or shorter than the actual hit.
Since the length of these matches is variable, a "best-guess" is made.
Header area hits are highlighted also. A multiple part search string
will cause ALL strings that have matched to be highlighted. Color
defaults to yellow background, black letters, but ...
o I added yet another 2-byte color combination to the end of my "archaic"
(as it's been referred to :) color specification. Modify your INI
color line (example given):
Colors=1E171E??
replace the ?? with the two-digit color code for the HIGHLIGHT color to
use when displaying search result "hits". The default, black on yellow,
would be specified as E0.
If you don't like new the highlighted text, just define the highlight
color to be the same as normal text. This will still show differently
in the header and quoted text sections ... let me know.
o INTERNAL: had to modify csoundex to return hit pointer.
check_for_string() now returns a point to a hit, and sets a global
length variable, __cfs_match_lgth. ViewBuffer now has code to search
for match string(s) and hilite any/all found.
INI.cpp: added another parse for new color possibility.
o While viewing any message, you can press "~" to rewrap it. This is
useful only in USENET (Internet) conferences where sometimes a message
gets posted without linefeeds. MR/2 would display it on a single line,
but only give you access to the first 160 characters. This rewrapping
is quite temporary (if you "go back" later to view the same message,
you'll have to rewrap it again), and totally manual; performed by user
keypress only. I may INI-ize an automated/detection scheme later.
o GetMessageLine: added a new parameter, maxline_length. This defaults
to 32000, but may be overridden. Problem was with long usenet message
(no linefeeds), stacked string variable were getting overflowed. This
becase apparent when searching for varibale values ... may exist in
other places.
o Specified maxline_length on all calls to GetMessageLine() found in
MR2.cpp and MR2Util.cpp.
o Added a bunch of code to better detect message display lines that are
"quotes" from previous messages. This is not configurable at this time.
If I did too much, yell and I'll make this optional. With all the
messages I looked at, quoting highlights were right 99% of the time.
o New QuoteBody option - Paragraph. If you specify something like:
QuoteBody="%i│▌",Paragraph
then you'll get a quotes like:
MN│▌Yes- DOS 6 upgrade is... (lines chopped for brevity)
│▌number of files that...
MN│▌And then after your DOS...
│▌the manual of files you...
│▌release the whole thing...
you can do the same thing with "%i>", and secondary lines
get just " >". Use the "|" (shifted backslash) and Fidonet
sysops may not yell at you :) (it's not hi-end ASCII).
Bummer! I just saw someone (a registered MR/2 user using a DOS
package, hmmmph!) quote with a technique that this doesn't yet
handle :(. Just a minor nit, maybe I'll add something later to do
this (YOU CAN'T DO THIS WITH MR/2):
MN┤Yes- DOS 6 upgrade is... (lines chopped for brevity)
│number of files that...
o Prewrapping still screws up. I'll look at this tomorrow. :(
HA! I had a problem where I saw too many lines as being "quoted".
Fixed this and text is flowing much nicer. Time will tell.
o Editor: Hi-end ASCII (>127) is now available via the ALT-nnn (numeric
keypad entry). Hi end characters that used to display with different
attributes now display correctly (normal text color).
o Forms: ALT-nnn combinations can now be used to enter characters into
forms. The Header Editing form will now accept these characters.
Still a problem ... display rountines aren't showing them ...
OK, fixed displays. It was a trimming problem, hi-end ASCII getting
trimmed off the end as, when seen as signed chars, they're actually
LESS THAN a ' ' and would get trimmed.
o Oops, old quote detect now also uses new "extended" quoted line
detection logic.
Changes included in v1.46x
--------------------------
Beta bug fixes...
o Trying to declare SmartWrapping or SmartQuoting in the INI file
resulted in a crash. I messed up by referencing an uninitialized
pointer. Sorry ... fixed now.
o Modified the logic to pick out the quoting initials to better parse
Internet "from" fields. Still needs some other strange-character
detection added (nick.knight@pc-ohio should reduce to nk>).
o Fixed a bug where internet from fields that were filled to 25 characters
resulted in your own last initial being inserted as the senders second
initial (Michael.Hagerty@nitelog.com to Nick Knight, reply would
be quoted MK>) This *was* fixed in v1.45 but not documented.
o So my wrapping logic needs a little work :) I added some things.
First SmartWrapping and SmartQuoting have three levels: No, Yes and
Full. Full is aggressive, rewrapping all non-quoted text to the
defined wrap column (This is the old "YES"). If set to Yes (the
"new" option), wrapping occurs ONLY after a line feed has been
inserted by MR/2 (an overlength line was detected). The defaults are
"YES" ... we'll see if this works any better. Limited testing, but
you *can* now shut these off w/o crashing!
o Also, add an "~" to the end of any line (before the linefeed) and
MR/2 will strip out the "~" and keep the return that follows intact.
This is for stubborn wrapping problems. Just in case :)
Changes included in v1.45x
--------------------------
Another limitted release beta ...
o INTERNAL: get_origin into mr2util.cpp from qwksrch.cpp. Previously
it was considered part of the searching logic but now has more
applications.
o If the quoting initials ended up longer than 9 characters (FROM name
had no spaces), the string was not properly terminated. This resulted
in garbage in the initials and in one reported case, a crash. This
would occur most often in internet conferences.
o New module: Wrap.cpp - WrapMessageText() called from MakeReply()
and SaveReply().
o New function in mr2util.cpp: fQuoteLine(). This used to be a simple
macro used in a single place. It was needed in another chunk of
code so I made it a function. This also allows for extensions, as
all MR/2 currently recognizes is a '>' in any of columns 1 through
5. If one's there, I call it a quote line.
o New INI variable: SmartQuoting, defaulting to "YES" but may be
manually set to NO via INI settings. SmartQuoting will "prewrap"
the reply file that MR/2 generates, compensating for the user
initial prefix string. In other words, when you first see the
reply, the original sender's text will be rewrapped and quoted so
as to fit inside the WrapLinesAtColumn defined in MR2.INI.
NOTE: that existing quoted lines ARE NOT REWRAPPED.
ALSO NOTE: SmartQuoting will *not* quote past the first tearline.
If this creates an incovenience, please let me know.
o New INI variable: SmartWrapping, defaulting to "YES" but may be
manually set to NO via INI settings. SmartWrapping will change
the logic used by MR/2 when the edited reply file is saved.
If set to NO, the old wrapping method is used. When left on,
MR/2 will format your NEW text with some intellegence. There is
logic to differentiate between a "hard" and "soft" return, and
soft returns will be removed if necessary.
The old technique would simply insert hard returns to make the line
fit within the declared wrap column. The remaining section of the
original line would often be short (one or two words) and look out
of place, stranded on a line by itself. The new technique attempts
to rewrap the text as a whole and eliminate some of the older
method's ugly results.
NOTE: Quoted lines ARE NOT REWRAPPED, these are always considered
to be prefixed and terminated by hard returns.
o New template sections are definable: NewInternet and NewNetmail
for creating new messages in these private-mail conferences.
o The NewMessage template section was never actually used ... the
"default" direct section was always being used for new messages.
Fixed.
o When editing a message header and the conference is the Internet or
Netmail defined conference, the "private" flag is set to YES.
o INTERNAL: SetSection() moved into mr2util.cpp.
o INTERNAL: AppendFile() - replaced fpreamble with multivalued
"subsection" parameter.
o New template section: `RIME` can be defined for use when replying
to a message in private mode. If a reply is private, and the
source message is determined to be from a RIME source (Postlink
origin is last line of message), then this section is used in
generating the reply. This allows for private, routed mail.
Not sure what to do about "new" private, routed messages.
o New variables: @RimeIDCode@ and @RimeSiteNo@ for use in the RIME
section for "routing" private messages. Will result in blanks unless
replying to a message with a Postlink origin line.
o New Variables:
@RimeIDCode@ and @RimeSiteNo@, defined above.
@Version@ for the MR/2 version.
@SerialNumber@ is replaced by the registered serial number
(empty if not registered).
@UserName@ is replaced by your user names as found in the QWK
control.dat structure.
@IDate@ is replaced with the Internet "Date:" spec, or the
the same results as @MDATE@ if a date string is not
found.
o New template section: `Forward`. If this section is declared, it is
used as the template "prefix" for forwarded messages. NOTE: $Body is
not required, this section is inserted as a whole. If not declared,
the old MR/2 default forward prefix is used.
o See EXAMPLE.TF for examples of all new section capabilities. My name
and email addresses are plastered all through here. You'll want to,
of course, change these to your own :)
o ** DO NOT USE THE ALT-W feature inside the internal editor. **
ALT-R seems to work ok (Read or "insert" file).
Changes included in v1.44x
--------------------------
o When replying into the Internet mail conference, the @INTERNET@
variable will better represent a true Internet address. If the
Reply-To: line isn't present, MR/2 then looks for a "From:" line and
attempts to parse out an address. If no From: line is detected,
MR/2 now looks to the last line of the message. If the sender has
included his address inside of parenthesis, then this is used as the
INTERNET value.
o Added ALT-R and ALT-W support to the internal editor. ALT-R prompts
for a file name, then reads that file into the current cursor
position. ALT-W prompts for a file name and writes the entire edit
buffer to that file (overwritting). I'm not happy this code ... and
it doesn't seem to work that well. I also noticed that the editor
doesn't save files in full text mode (no CR's).
o Modified msg2rep.cmd so that if archiver.id file isn't found, it
defaults to pkzip (configurable). If using no packet entry, no
unarchiver was called, so no archiver.id is created. We need to
be able to specify a packet as a default.
o If a local INI specified a value for Internet and/or Netmail, it
was not cleared when the packet was exitted. If the next packet
opened did not reset these values (or did not have a local INI), then
some erroneous detection of network mail would result. Fixed.
o The internal editor now saves and ALT-W writes files in TEXT mode.
I had to do cr/lf translations myself :(. Writing is OK now, although
I'm still hoping to recognize and write only a block, if something is
highlighted/marked. Reading/importing a text file also works OK, but
since I'm tricking the editor by inserting the file into the internal
editor keyboard buffer, it runs more slowly than it should. Plenty of
room for improvement here :)
THIS IS BUGGY AND MAY GET YANKED !!!!
o I modified the "origin" line finding logic to recognize more common
reader/network tearline styles. For instance, MR/2's own TwoLine
style tagline is now recognized as the beginning of the origin section
(and end of the BODY section).
o INTERNAL: QwkSrch.cpp - modified fopen() call to open custom conference
NDX file. It now prepends the BaseDir and WorkPath. MR2PM, under some
interesting circumstances, would write these files to the wrong
directory. MR/2 classic probably could have, too.
o Qwksrch.cpp - James Schmidt found a couple of problems.
If you set the CHECK= parameter for a custom conference to TO, FROM
and/or SUBJECT, and the source message used mixed case text, a match
would never be found. Fixed. Also, if a message had no detectable
origin line, for some strange reason I called the whole message part
of the origin/tagline area (and it had no "body" section). This is now
reversed - a message with no tearline is all "body" and has no origin
section.
Changes included in v1.43x
--------------------------
FOLKS: Same as before ... 1.42 was kept *very* internal. This version
is still beta stuff.
o Started coding of a REXX script to handle detection of the archiver
used to pack the mail packet. A code is returned that will be used to
branch to the correct command for unpacking. To me, this is the ideal
solution, as it is forever extensible. I've got a scheme for a packer
script (for replies) that will match the unpacker used. I'm new to
REXX coding (this was the perfect excuse to get my feet wet :), so
if anyone wants to make improvements and/or enhancements, I'll welcome
them. (file is named Unqwk.cmd)
o Create msg2rep.cmd - a REXX script for packing replies into a .rep
file based on the method used to unpack the original packet. The source
packet *must* have been unpacked with unqwk.cmd (or, at least, the file
"archiver.id" must exist and identify the correct packer to use). This
script opens up "archiver.id" and extracts the id number. Based on that
number, a branch is made to the correct packet command.
NOTE: You may have to modify these files a tad IF your archivers
are not in your "PATH" environment variable.
NOTE: These command are useful if you use multiple packet sources
(BBS's) that use different compression techniques. If you can get
by with a single zipper/unzipper command, the "old" way is OK, and
in fact, still more efficient. These new files simply provide
additional flexibility for those that frequent a variety of BBS's and
need this functionality.
INSTALLATION: Modify your MR2.INI file to declare:
Zipper=..\msg2rep
Unzipper=..\unqwk
the default .cmd files depend on all archivers being in your "path".
If not, you may modify the path = '' statement at the top of each
file to reflect the correct path, or modify each zipper command
separately to reflect each's valid path.
o INTERNAL: packet_exists() now returns TRUE+1 if a .msg file is found
in the work directory.
o INTERNAL: packet_exists() and remove_packet_exists now use the file
name "control.dat" when checking (and removing) packet exist status.
If you left a no-packet entry session with ALT-X, then tried to go back
in later, MR/2 would not see the existing work (since no messages.dat
file ever existed). Control.dat will always exist if a "packet" is
open.
o The prompt "Work area has an open packet" has been enhanced. You may
still see this prompt. However, if the work directory is found to
contain replies, the prompt will read "Open packet with REPLIES found".
o If an error occurs when unpacking the packet, you will now remain
inside MR/2 to select a new packet, or whatever.
o IF an error occurs while packing replies, the work directory is *not*
purged. Previously, any error while spawning the packer still let the
files be deleted. What happens now is, after the command error is
reported, you're prompted that an open packet with replies exists. The
correct course of action is to go back in the packet (continue working
with the open packet) fast exit with ALT-X and correct the zipper
problem.
o Cleaned up and tested UNQWK.CMD and MSG2REP.CMD. Made sure error codes
were properly returned to MR/2. Seems to work well with the new error
handling described above.
o Added new variable @ISUBJECT@ that resolves to the Internet message
subject line (often different than the QWK "subject" field).
I hope there's a limit to the size of these things ... I only
accomodate "realistic" lengths. We'll see.
o Ooops. New template section logic didn't accomodate new messages
created w/o replying. The template file can now define a section for
`NewMessage`.
o There was a problem with clearing of search results if there was no
local INI when a packet was closed. Previously, hit counters for custom
conferences would not represent the correct counts (counts would not
be cleared for the next packet). Now, all data is cleared (MR2.INI is
always reloaded after a packet is closed).
o The INI parameter SplitLongMessages has been enhanced. YES/NO still
function in the old way; YES will cause messages to be split at 92
lines (90 lines of message, 2 lines for the <cont..d> footer). You
can now, however, place a number here as an option. This sets
splitting to YES, but modifies the line count cutoff to be the specified
value (instead of 92). This value *must* be greater than or equal
to 10 (I've been told of a BBS system that requires no more than 16
lines <really!>, so I figure 10 will be a "safe" minimum). I would
suggest using a reasonable number if you need to change the default
at all.
Changes included in v1.42x
--------------------------
FOLKS!!!: This is truely a beta ... please save your old working
MR/2 version before trying this release. I changed alot of code, and while
eveything appears to be OK so far ... well, we all know better than to
get too relaxed, eh? :)
o New INI parameters V0 through V9 allow you to set user-defined text
strings as template variables. Uses of the strings @V0@ through @V9@
in the tenplate file will be replced with the corresponding defined
text string.
These variables can contain any other variables, including other "V"
variables. This allows for a template to be defined with an
attribution line of @V0@, for example, and this line can be changed
for each BBS by defining different values to V0 in the BBSs local
INI file. The variable replacement is recursive, so any number of
replacemnet levels is possible. It's also possible to confuse the
system by circularly defining variables. My rule: keep it where
it's understandable.
For example, if you add a line to MR2.INI that says "V0=1:157/200"
and your template file starts "...writing from Fidonet address @V0@",
the fidonet node address will be placed in the reply.
o New INI parameters "INTERNET" and "NETMAIL". Use these variables to
declare which conferences, if any, handle Internet mail and Fidonet
netmail, respectively. For example, PC-Ohio has Internet mail in
conference 5 and Fidonet netmail in conference 6. My PC-OHIO.INI
file has:
Internet=5
Netmail=6
Nerd' Nook has Netmail in conference in 139 and no Internet capabilities.
My NerdNook.INI file has the lines:
Internet=-1
Netmail=139
The "-1" tells MR/2 that there is no Internet support, and makes sure
that the Internet section template is not referenced.
o New variables @INTERNET@ and @FIDONET@. The INTERNET variable will
be replaced with the "Reply-to:" address found in Internet mail. The
target address will be stripped of extra verbage and should represent
a correct and "ready-to-go" internet address. The FIDONET variable
will be replaced with the full Fidonet address found in the origin
line of the current message. If either one of these variable can
not be resolved, then an empty string is substituted.
These variables are meant to be used for personal mail addressing
using template "sections". See next blurb.
o Sections in the template file `Internet` and `Netmail`. You may now
allocate "sections" within the template file. Sections are denoted
and named by a string between "accent" characters (`). The first
template file section has no name and will be refered to as the
"default" section. A section ends at the next section name string,
or at the end of the file.
When replying to messages targetted for a conference declared to
be the INTERNET or NETMAIL conferences, MR/2 will switch template
sections to the corresponding section. If ever a section is not found
(by name matching), the default section is used.
This allows for Fidonet netmail and Internet mail to have templates
that correctly set up destination addressing. See the file Example.tf
for examples of sections.
o Mods to reply creation ... removed the beginning CR/LF when creating
the reply file. Made changes to the way the template file handled
CR/LF spacing. Template file's allignment matches reply files
better now (line spacing/blank lines).
o When replying and the FROM user name is an Internet made-up name with
periods imbedded, MR/2 nulls-out the quoting initials. The quoted text
is simply marked with whatever symbol is defined in the INI, usually
a ">" (no initials preceed the ">").
o Oh boy. I modified the Save Reply logic of my QWK class. This is
dangerous, simply because it changes the way replies are saved. I'll
test it thoroughly before letting it out. *Please* report any problems
to me quickly.
The change comes when splitting messages (it may effect more, my hope
is that it doesn't :). IF you're in sending Internet mail or Netmail,
the message "header" will be copied to each split section. In most
cases, this will be the correct function. There may be cases where
it isn't. Yell at me and I'll make it configurable. In other words,
netmail or internet mail that's split will be addressed properly for
all "parts" if addressing is done on the first line(s) of the message.
o When replying into the Fidonet netmail conference, the source message
is first checked to see if the first line starts "From:". If so, and
what follows appears to be a Fidonet node designation (it has a ":" and
a "/"), then this is used as the value of the FIDONET variable.
If not found, the origin line is found. In netmail messages (the ones
I receive at least), there is no origin line, just a "From:" identifier
on the very first line of the message.
Changes included in v1.41x
--------------------------
o Template file processor would lockup if the named template file did
not exist. Same ZTC bug where fopen() doesn't return NULL on error.
Fixed with a call to my file_size() function.
o Taglines now are filtered for variables (e.g., @FROM@).
o Took template file checking one step further - if file name is
empty, processing doesn't even start.
o Distribution packets now contain a FILE_ID.DIZ file to help automate
BBS description entry.
o The initial MR2.INI file now specifies that the INTERNAL editor now
be used as the default. The initial INI editing is still performed
inside the E editor.
Changes included in v1.40x
--------------------------
Not much feedback on the internal editor yet. I used it for a while but
switched back to QEdit. I need file import/export capabilities myself; I'll
be adding that to the internal editor soon.
o Save file wildcarding logic fix. First, if you entered a spec like
"c:\tmp\*" and pressed ENTER, MR/2 would save the message to that file
name, which is illegal. No error would be reported. Now, when ENTER
is pressed and a wildcard is in the file name specified, MR/2 converts
the ENTER into an F2 keypress and shows a file pick list.
o If "C:\tmp\*" was provided as the save file pick list, and a file was
selected from the list, the file name returned would be grunged. The
file name field would be filled with some mutation of the subject line
from the message display. This was due to the missing ".", which I
assumed would always be there. This has been corrected.
o New INI parameter: "TemplateFile". This is another one of those
features that is merely a starting place and has lots of future
expansion possibilities. Place a file name here that defines a
template for all message replies. The reply will created using this
file as a guide BEFORE you edit it. This allows for any necessary
cleanup. The "template" file I used for testing looked like this
(note that the variables used will be documented below):
-------------------------------------------------------------------
Subject: @Subject@
In a message dated @DATE@, @FROM@ said to @TO@:
$BODY
Nick Knight
From @from@ reading @CONFNAME@ (@CONFNUM@) on @BBSID@, to @TO@
Subject: @Subject@
FidoNet: 1:157/2
Internet: nick.knight@pcohio.com
Compuserve: 76066,1240
To First: @tofirst@
To Last: @tolast@
YYMMDD: @yymmdd@
Date: @date@
From First: @fromfirst@
From Last: @FromLast@
Msg Date: @msgdate@
Msg Time: @msgtime@
Day: @Day@
Julian: @Julian@
Time: @Time@
Time 24: @Time24@
AM/PM: @AmPm@
Upper: @Upper@@Subject@ @upper@@day@
Lower: @lOWER@@Subject@ @lower@@day@
Mixed: @mix@@From@ -> @mix@@to@
-------------------------------------------------------------------
The quoted version of the original message is inserted at the $BODY
marker, which is required. NOTE that this is not an appropriate
template file for use within internationally echoed conferences.
It's offered here merely as an example.
The section before the $BODY line allows for an "attribution"
line or section. The area below the $BODY marker works as a
signoff or signature section.
AGAIN, this feature is under development and may be changed in the
next couple of versions. My idea is to add more blocks to this file.
For example, a definition for saved message headers, forwarded
header definition, etc.,. I've got plenty of ideas.
The reply file generated by my test template file looked like:
-----------------------------------------------------------------
Subject: NEW ZOO
In a message dated 03/06/93, DAN HANSON said to ALL:
DH>I saw this in Time Magazine. The New York Bronx Zoo has been
DH>renamed to the International Wildlife Conservation Park. In
<My reply would be inserted here.>
Nick Knight
From DAN HANSON reading Main Board (0) on PC-OHIO, to ALL
Subject: NEW ZOO
FidoNet: 1:157/2
Internet: nick.knight@pcohio.com
Compuserve: 76066,1240
To First: ALL
To Last: ALL
YYMMDD: 930306
Date: 03/06/93
From First: DAN
From Last: HANSON
Msg Date: 03-06-93
Msg Time: 14:21
Day: Saturday
Julian: 065
Time: 03:08
Time 24: 15:08
AM/PM: PM
Upper: NEW ZOO SATURDAY
Lower: new zoo saturday
Mixed: Dan Hanson -> All
-----------------------------------------------------------------
o Variables are available for use in the template file. They are
currently only used by the reply file generator. I'll add the
capability to other areas as I think of them.
The following variables have been provided:
BBSID TIME
CONFNAME TIME24
CONFNUM TO
DATE TOFIRST
DAY TOLAST
FROM YYMMDD
FROMFIRST UPPER
FROMLAST LOWER
MSGDATE MIX
MSGTIME AMPM
SUBJECT JULIAN
The literals UPPER, LOWER and MIX are not actual variables, but
modifiers. They will convert the case of the NEXT variable
replacement to either all upper, all lower or mixed case, respectively.
Mixed case basically lower cases all letters except the first letter
of each word. See the example above for more detail.
o GREATER CHICAGO Online BBS is now offering a service called the
"OS/2 Shareware Author Support Program". They are willing to handle
Visa/Mastercard charges for shareware authors. Starting immediately,
MR/2 may be registered by "charging" it! You can register online by
calling Greater Chicago Online BBS at (708) 895-4042. Alternatively,
you can provide your charge card information to me directly on the
MR/2 registration form provided (register.doc). There is a $2.00
handling fee associated with all charged registrations, making the
total charged registration cost $22.00 US for domestic orders.
Shareware authors may get more information on the OS/2 Shareware
Author Support Program by calling the GREATER CHICAGO Online BBS at
the number above (leave a note to the sysop) or by Compuserve mail
at 70404,3277. Fidonet netmail can be sent to Bill Cook at 1:115/895.
KNOWN BUGS AND STUFF
====================
Mouse support is missing from some of the "inform user" screen.
The TEMPORARY directory MUST remain a subdirectory of the MR2 home dir.
You can't use "\" or "&" as part of any search text (since MR/2 uses them
as delimiters).
You can't cancel a search until the first "hit" is displayed. This is
particularly irritating when soundex searching, since soundexing is
noticably slower.
If you set "SkipReadMessages" to true, you cannot gain access to a
conferences where all messages have previously been read.
Other frills that have not yet been addressed: Bulk marking, carbon
copies, twit filter, function key assigning. There are probably others.
Feel free to bombard me with requests.
No long file name support. Since QWK is a DOS thing, the only place I can
see using it is for packet names (if the user renames it). Any ideas?
************************************************************************
NOTE: READ.ME format has changed! Go to the BEGINNING of the file for
the most recent changes!!!
************************************************************************